package com.example.lettcode._202412._20241213;

/*
434. 字符串中的单词数
统计字符串中的单词个数，这里的单词指的是连续的不是空格的字符。
请注意，你可以假定字符串里不包括任何不可打印的字符。
示例:
输入: "Hello, my name is John"
输出: 5
解释: 这里的单词是指连续的不是空格的字符，所以 "Hello," 算作 1 个单词。
 */
public class _434_zi_fu_chuan_zhong_de_dan_ci_shu {
    public static void main(String[] args) {
        String str = "  Hello, my name is John cc  ";
        System.out.println(countSegments(str));
    }

    public static int countSegments(String s) {
        int count = 0;
        boolean flag = false;

        char[] chars = s.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            if (chars[i] == ' ') {
                if (flag) {
                    count++;
                }
                flag = false;
            } else {
                flag = true;
            }
        }
        return flag ? count + 1 : count;
    }

    public static int countSegments2(String s) {
        int count = 0;
        char[] chars = s.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            if ((i == 0 || chars[i-1] == ' ') && chars[i] != ' ') {
                count++;
            }
        }
        return count;
    }
}
